home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh -e
-
- echo Cleaning up old version and unpacking original ...
- rm -fr syntax-case
- gzip --decompress --stdout syntax-case.tar.z | tar xf -
-
- cd syntax-case
-
- echo Removing some files ...
- rm *.ps loadpp.ss hooks*
-
- # Remove enormous amount (about 200k) of white space in expand.pp
- echo Slimming expand.pp ...
- sed -e '/^ */s///' expand.pp > tt; mv tt expand.pp
-
- echo Patching ...
- patch -s -b .ORIG << 'PATCH'
- --- ./expand.pp.ORIG Wed Mar 24 19:54:52 1993
- +++ ./expand.pp Wed Mar 24 19:54:52 1993
- @@ -337,9 +337,10 @@
- '()
- (lambda (e maps) (regen e)))))
- (ellipsis? (lambda (x)
- -(if (if (top-level-bound? 'dp) dp #f)
- -(break)
- -(void))
- +;; I dont know what this is supposed to do, and removing it seemed harmless.
- +;; (if (if (top-level-bound? 'dp) dp #f)
- +;; (break)
- +;; (void))
- (if (identifier? x)
- (free-id=? x '...)
- #f)))
- @@ -1674,7 +1675,7 @@
- (set! generate-temporaries
- (lambda (ls)
- (arg-check list? ls 'generate-temporaries)
- -(map (lambda (x) (wrap (gensym) top-wrap)) ls)))
- +(map (lambda (x) (wrap (new-symbol-hook "g") top-wrap)) ls)))
- (set! free-identifier=?
- (lambda (x y)
- (arg-check id? x 'free-identifier=?)
- --- ./expand.ss.ORIG Thu Jul 2 13:56:19 1992
- +++ ./expand.ss Wed Mar 24 19:54:53 1993
- @@ -564,7 +564,8 @@
-
- (define ellipsis?
- (lambda (x)
- - (when (and (top-level-bound? 'dp) dp) (break))
- + ;; I dont know what this is supposed to do, and removing it seemed harmless.
- + ;; (when (and (top-level-bound? 'dp) dp) (break))
- (and (identifier? x)
- (free-id=? x (syntax (... ...))))))
-
- @@ -887,7 +888,7 @@
- ;; gensym
- (lambda (ls)
- (arg-check list? ls 'generate-temporaries)
- - (map (lambda (x) (wrap (gensym) top-wrap)) ls)))
- + (map (lambda (x) (wrap (new-symbol-hook "g") top-wrap)) ls)))
-
- (set! free-identifier=?
- (lambda (x y)
- --- ./macro-defs.ss.ORIG Thu Jul 2 12:28:49 1992
- +++ ./macro-defs.ss Wed Mar 24 19:55:31 1993
- @@ -161,26 +161,3 @@
- (syntax-case x ()
- ((- e) (gen (syntax e) 0))))))
-
- -;;; simple delay and force; also defines make-promise
- -
- -(define-syntax delay
- - (lambda (x)
- - (syntax-case x ()
- - ((delay exp)
- - (syntax (make-promise (lambda () exp)))))))
- -
- -(define make-promise
- - (lambda (thunk)
- - (let ([value (void)] [set? #f])
- - (lambda ()
- - (unless set?
- - (let ([v (thunk)])
- - (unless set?
- - (set! value v)
- - (set! set? #t))))
- - value))))
- -
- -(define force
- - (lambda (promise)
- - (promise)))
- -
- PATCH
- test $# -gt 0 && exit 0
- rm *.ORIG
- ###############################################################################
-
- echo Renaming globals ...
-
- CR='
- '
- SEDCMD='s/list\*/syncase:list*/g'
- for x in \
- build- void andmap install-global-transformer eval-hook error-hook \
- new-symbol-hook put-global-definition-hook get-global-definition-hook \
- expand-install-hook;
- do SEDCMD=$SEDCMD$CR"s/$x/syncase:$x/g"; done
-
- WARN=";;; This file was munged by a simple minded sed script since it left
- ;;; its original authors' hands. See syncase.doc for the horrid details.
- "
-
- for f in *.pp *.ss; do
- mv $f tt; (echo "$WARN"; sed -e "$SEDCMD" tt) >$f; rm tt; done
-
- echo Making the doc file ...
- DOC=syncase.doc
- cp ../$DOC .
- for f in Notes ReadMe; do
- echo "
- *******************************************************************************
- The file named $f in the original distribution:
- "
- cat $f
- rm $f
- done >>$DOC
-
- echo "
- *******************************************************************************
- The shell script that created these files out of the original distribution:
- " >>$DOC
- cat ../fixit >>$DOC
-
- echo Renaming files ...
- mv compat.ss sca-comp.scm
- mv output.ss scaoutp.scm
- mv init.ss scaglob.scm
- mv expand.pp scaexpp.scm
- mv expand.ss sca-exp.scm
- mv macro-defs.ss scamacr.scm
- mv structure.ss structure.scm
-
- echo Adding new pieces ...
- cp ../sca-init.scm scainit.scm
-
- echo Done.
-